; Music of Tempest (1986) (Electric Dreams) (David K Pridmore)
; Ripped by Megachur the 14/02/2009

; Need System Vectors

	write "TEMPEST.BIN"

music_date_rip	equ &0e29
music_adr	equ &431a
first_theme	equ 0
last_theme	equ 0	; 0 -> 0

	read "music_header_v1_0.asm"

; #4691
; db "MUSIC    23/11/85-10/03/86BY DAVID K PRIDMORE"

;
.init_music_interrupt
.l431a
;
	ld hl,l45c9
	ld (l4596),hl
	ld (l45a6),hl
	ld (l45b6),hl
	ld a,#01
	ld (l459a),a
	ld (l45aa),a
	ld (l45ba),a
	ld a,(iy+#03)
	ld (l4598),a
	ld a,(iy+#04)
	ld (l4599),a
	ld a,(iy+#05)
	ld (l45a8),a
	ld a,(iy+#06)
	ld (l45a9),a
	ld a,(iy+#07)
	ld (l45b8),a
	ld a,(iy+#08)
	ld (l45b9),a
	ld a,(iy+#00)
	ld (l45a5),a
	ld a,(iy+#01)
	ld (l45b5),a
	ld a,(iy+#02)
	ld (l45c5),a
	ld a,(iy+#09)
	ld (l45c6),a
	ld a,(iy+#0a)
	ld (l45c8),a
	xor a
	ld (l45a1),a
	ld (l45b1),a
	ld (l45c1),a
	call #bca7
	ld hl,l43a7
	ld b,#81
	ld c,#fc
	ld de,l43ae	 ;#6ea0
	call #bcef
	ld hl,l43a1
	ld de,#0001
	ld bc,#0001
	call #bce9
	ret
	ld hl,l43a1
	call #bcec
	ret
.l43a1
	db #67,#be,#01,#00,#01,#00
.l43a7
	db #6d,#00,#00,#81
	dw l43ae
	db #fc
;
.play_music
.l43ae
;
	di
	push ix
	push iy
	ld ix,l4596
	ld a,(l45a5)
	call l43d7
	ld ix,l45a6
	ld a,(l45b5)
	call l43d7
	ld ix,l45b6
	ld a,(l45c5)
	call l43d7
	pop iy
	pop ix
	ei
	ret
.l43d7
	and a
	ret z
	cp #01
	jp z,l43f2
	cp #02
	jp z,l44de
	ret
.l43e4
	ld hl,#0000
	ld b,#08
.l43e9
	add hl,hl
	rla
	jp nc,l43ef
	add hl,de
.l43ef
	djnz l43e9
	ret
.l43f2
	ld a,(ix+#06)
	call #bcad
	di
	and #07
	cp #04
	ret nz
.l43fe
	ld e,(ix+#00)
	ld d,(ix+#01)
	ld a,(de)
	and a
	jp z,l4449
	push de
	ld de,(l45c6)
	call l43e4
	ld (ix+#0d),l
	ld (ix+#0e),h
	pop hl
	inc hl
	ld a,(hl)
	and a
	jp z,l44ac
	ld a,(l45c8)
	add (hl)
	add (ix+#05)
.l4425
	inc hl
	ld (ix+#00),l
	ld (ix+#01),h
	ld l,a
	ld h,#00
	add hl,hl
	ld bc,l45ca
	add hl,bc
	ld a,(hl)
	ld (ix+#09),a
	inc hl
	ld a,(hl)
	ld (ix+#0a),a
	ld bc,#0006
	push ix
	pop hl
	add hl,bc
	call #bcaa
	di
	ret
.l4449
	dec (ix+#04)
	jp z,l4469
	ld e,(ix+#02)
	ld d,(ix+#03)
	inc de
	inc de
	ld a,(de)
	ld (ix+#00),a
	inc de
	ld a,(de)
	ld (ix+#01),a
	dec de
	dec de
	ld a,(de)
	ld (ix+#05),a
	jp l43fe
.l4469
	ld l,(ix+#02)
	ld h,(ix+#03)
	ld bc,#0004
	add hl,bc
.l4473
	ld a,(hl)
	cp #ff
	jp z,l44b1
	cp #fe
	jp z,l44c4
	cp #fd
	jp z,l44cc
	cp #fc
	jp z,l44d5
	and a
	jp nz,l4490
	inc (ix+#04)
	ret
.l4490
	ld (ix+#02),l
	ld (ix+#03),h
	ld (ix+#04),a
	inc hl
	ld a,(hl)
	ld (ix+#05),a
	inc hl
	ld a,(hl)
	ld (ix+#00),a
	inc hl
	ld a,(hl)
	ld (ix+#01),a
	jp l43fe
	ret
.l44ac
	ld a,#00
	jp l4425
.l44b1
	inc hl
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld a,(hl)
	ld (ix+#0c),a
	inc hl
	jp l4473
.l44c4
	inc hl
	ld (ix+#0f),#02
	jp l4557
.l44cc
	inc hl
	ld a,(hl)
	inc hl
	ld (l45c8),a
	jp l4473
.l44d5
	inc hl
	ld a,(hl)
	inc hl
	ld (l45c6),a
	jp l4473
.l44de
	ld a,(ix+#06)
	call #bcad
	di
	and #07
	cp #04
	ret nz
.l44ea
	ld e,(ix+#00)
	ld d,(ix+#01)
	ld a,(de)
	and a
	jp z,l4534
	push de
	ld de,(l45c6)
	call l43e4
	ld (ix+#0d),l
	ld (ix+#0e),h
	pop hl
	inc hl
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld a,(hl)
	ld (ix+#0b),a
	inc hl
	ld a,(hl)
	ld (ix+#09),a
	inc hl
	ld a,(hl)
	ld (ix+#0a),a
	inc hl
	xor a
	ld (ix+#0c),a
	ld (ix+#00),l
	ld (ix+#01),h
	ld bc,#0006
	push ix
	pop hl
	add hl,bc
	call #bcaa
	di
	ret
.l4534
	dec (ix+#04)
	jp z,l454d
	ld e,(ix+#02)
	ld d,(ix+#03)
	inc de
	ld a,(de)
	ld (ix+#00),a
	inc de
	ld a,(de)
	ld (ix+#01),a
	jp l44ea
.l454d
	ld l,(ix+#02)
	ld h,(ix+#03)
	ld bc,#0003
	add hl,bc
.l4557
	ld a,(hl)
	cp #fe
	jp z,l4581
	cp #fc
	jp z,l458d
	and a
	jp nz,l456a
	inc (ix+#04)
	ret
.l456a
	ld (ix+#02),l
	ld (ix+#03),h
	ld (ix+#04),a
	inc hl
	ld a,(hl)
	ld (ix+#00),a
	inc hl
	ld a,(hl)
	ld (ix+#01),a
	jp l44ea
	ret
.l4581
	inc hl
	ld (ix+#0f),#01
	ld (ix+#0b),#00
	jp l4473
.l458d
	inc hl
	ld a,(hl)
	inc hl
	ld (l45c6),a
	jp l4557
.l4599 equ $ + 3
.l4598 equ $ + 2
.l4596
	dw l485a,l46e0
.l45a1 equ $ + 7
.l459a
	db #01,#00,#01,#0f,#00,#d5,#00,#00
.l45a5 equ $ + 3
	db #00,#0c,#00,#01
.l45a9 equ $ + 3
.l45a8 equ $ + 2
.l45a6
	dw l4b65,l4705
.l45b1 equ $ + 7
.l45aa
	db #01,#0c,#02,#00,#00,#7e,#02,#00
.l45b5 equ $ + 3
	db #0e,#30,#00,#01
.l45b9 equ $ + 3
.l45b8 equ $ + 2
.l45b6
	dw l4c34,l471e
.l45c1 equ $ + 7
.l45ba
	db #01,#00,#04,#00,#00,#aa,#01,#00
.l45c9 equ $ + 7
.l45c8 equ $ + 6
.l45c6 equ $ + 4
.l45c5 equ $ + 3
	db #0f,#0c,#00,#01,#03,#00,#0c
.l46c9
	db #00
.l45ca
	db #00,#00
	dw #0eee,#0e18,#0d4d,#0c8e
	dw #0bda,#0b2f,#0a8f,#09f7
	dw #0968,#08e1,#0861,#07e9
	dw #0777,#070c,#06a7,#0647
	dw #05ed,#0598,#0547,#04fc
	dw #04b4,#0470,#0431,#03f4
	dw #03bc,#0386,#0353,#0324
	dw #02f6,#02cc,#02a4,#027e
	dw #025a,#0238,#0218,#01fa
	dw #01de,#01c3,#01aa,#0192
	dw #017b,#0166,#0152,#013f
	dw #012d,#011c,#010c,#00fd
	dw #00ef,#00e1,#00d5,#00c9
	dw #00be,#00b3,#00a9,#009f
	dw #0096,#008e,#0086,#007f
	dw #0077,#0071,#006a,#0064
	dw #005f,#0059,#0054,#0050
	dw #004b,#0047,#0043,#003f
	dw #003c,#0038,#0035,#0032
	dw #002f,#002d,#002a,#0028
	dw #0026,#0024,#0022,#0020
	dw #001e,#001c,#001b,#0019
	dw #0018,#0016,#0015,#0014
	dw #0013,#0012,#0011,#0010
	dw #0000,#0000:db #00
	db #4d,#55,#53,#49,#43,#20,#20,#20
	db #20,#32,#33,#2f,#31,#31,#2f,#38
	db #35,#2d,#31,#30,#2f,#30,#33,#2f
	db #38,#36,#42,#59,#20,#44,#41,#56
	db #49,#44,#20,#4b,#20,#50,#52,#49
	db #44,#4d,#4f,#52,#45
.l46be
	db #01,#01,#01
	dw l46d4,l46fd,l470a
	db #03,#0c,#01,#01,#01
	dw l46d4,l46fd,l470a
.l46d4 equ $ + 2
	db #03,#0c,#00,#00,#00,#00,#ff,#0f
	db #00,#00,#04,#00
.l46e0 equ $ + 2
	dw l4723,#0001,l472c,#0001
	dw l48f1,#0004,l4723,#0001
	dw l492a,#0003,l4723,#0001
	dw l4997,#0001,l49a0
.l46fd equ $ + 1
	db #00,#00,#00,#00,#00,#ff,#00,#00
.l4705 equ $ + 1
	db #0e,#01,#0c
	dec c
	ld c,e
.l470a equ $ + 1
	db #00,#00,#00,#00,#00,#ff,#00,#00
	db #0f,#03,#00
	dw l4c2f
	dw #0c01,l4c18,#0007,l4c2f
.l471e
	dw #0001,l4c32
.l4723 equ $ + 1
	db #00,#04,#31,#04,#2c,#04,#29,#04
.l472c equ $ + 2
	db #2c,#00,#04,#27,#04,#31,#04,#30
	db #04,#2e,#04,#2c,#04,#2a,#04,#29
	db #04,#27,#04,#29,#04,#25,#04,#27
	db #04,#29,#04,#2a,#04,#2c,#04,#2e
	db #04,#30,#04,#31,#04,#2c,#04,#29
	db #04,#2c,#04,#31,#04,#2c,#04,#29
	db #04,#2c,#04,#31,#04,#2b,#04,#27
	db #04,#2b,#04,#31,#04,#2e,#04,#27
	db #04,#2e,#04,#30,#04,#2e,#04,#2c
	db #04,#2e,#08,#27,#08,#2b,#08,#2c
	db #04,#27,#04,#29,#04,#27,#04,#29
	db #04,#27,#04,#29,#04,#27,#04,#24
	db #04,#20,#04,#24,#04,#27,#04,#24
	db #04,#20,#04,#24,#04,#2c,#04,#29
	db #04,#25,#04,#29,#04,#2c,#04,#29
	db #04,#25,#04,#29,#04,#2a,#04,#27
	db #04,#24,#04,#27,#04,#2a,#04,#27
	db #04,#24,#04,#27,#04,#29,#04,#20
	db #04,#22,#04,#24,#04,#25,#04,#27
	db #04,#29,#04,#2a,#04,#2c,#04,#29
	db #04,#25,#04,#29,#04,#2c,#04,#29
	db #04,#25,#04,#29,#04,#2c,#04,#27
	db #04,#20,#04,#27,#04,#2c,#04,#27
	db #04,#20,#04,#27,#04,#29,#04,#25
	db #04,#22,#04,#25,#04,#29,#04,#25
	db #04,#22,#04,#25,#04,#29,#04,#24
	db #04,#1d,#04,#24,#04,#29,#04,#24
	db #04,#1d,#04,#24,#04,#31,#04,#2e
	db #04,#2a,#04,#2e,#04,#31,#04,#2e
	db #04,#2a,#04,#2e,#04,#31,#04,#2c
	db #04,#25,#04,#2c,#04,#31,#04,#2c
	db #04,#25,#04,#2c,#04,#2a,#04,#2c
	db #04,#2e,#04,#2c,#04,#2a,#04,#29
	db #04,#27,#04,#25,#04,#24,#04,#25
	db #04,#27,#04,#25,#04,#24,#04,#22
	db #04,#20,#04,#1e,#04,#1d,#04,#20
	db #04,#1e,#04,#22,#04,#20,#04,#24
	db #04,#22,#04,#25,#04,#24,#04,#27
.l485a
	db #04,#25,#04,#29,#04,#27,#04,#2a
	db #04,#29,#04,#2c,#04,#2a,#04,#2c
	db #04,#2a,#04,#2c,#04,#2e,#04,#2c
	db #04,#2a,#04,#29,#04,#27,#04,#29
	db #04,#27,#04,#29,#04,#2a,#04,#2c
	db #04,#2a,#04,#2c,#04,#2e,#04,#2c
	db #04,#2e,#04,#2c,#04,#2a,#04,#29
	db #04,#2a,#04,#29,#04,#27,#04,#29
	db #04,#27,#04,#29,#04,#2a,#04,#2c
	db #04,#2a,#04,#2c,#04,#2e,#04,#2c
	db #04,#2e,#04,#2c,#04,#2a,#04,#29
	db #04,#2a,#04,#29,#04,#27,#04,#29
	db #04,#27,#04,#29,#04,#2a,#04,#29
	db #04,#2a,#04,#27,#04,#29,#04,#2c
	db #04,#2a,#04,#2e,#04,#2c,#04,#30
	db #04,#2e,#04,#31,#08,#30,#04,#2e
	db #04,#2c,#08,#31,#08,#2a,#08,#29
	db #04,#27,#04,#25,#08,#20,#08,#24
.l48f1 equ $ + 7
	db #08,#25,#08,#20,#10,#19,#00,#04
	db #25,#04,#27,#04,#29,#04,#2a,#08
	db #29,#08,#27,#08,#25,#10,#2c,#08
	db #2a,#08,#29,#04,#2a,#04,#29,#08
	db #2a,#08,#27,#04,#29,#04,#2a,#04
	db #2c,#04,#2e,#08,#2c,#08,#2a,#08
	db #29,#04,#2a,#04,#29,#08,#2a,#08
	db #27,#08,#29,#08,#27,#10,#25,#00
.l492a
	db #04,#27,#04,#31,#04,#30,#04,#2e
	db #04,#2c,#04,#2a,#04,#29,#04,#27
	db #08,#29,#08,#20,#10,#19,#10,#2c
	db #04,#2e,#04,#2c,#04,#2a,#04,#29
	db #08,#2a,#10,#2e,#08,#2e,#04,#2c
	db #04,#2a,#04,#29,#04,#2c,#04,#2a
	db #04,#29,#04,#27,#04,#2a,#08,#29
	db #10,#2c,#08,#2c,#04,#2a,#04,#29
	db #04,#27,#04,#2a,#04,#29,#04,#27
	db #04,#25,#04,#29,#08,#27,#08,#2c
	db #04,#24,#04,#25,#04,#27,#04,#29
	db #08,#27,#08,#2c,#04,#24,#04,#25
	db #04,#27,#04,#29,#08,#27,#08,#2c
.l4997 equ $ + 5
	db #08,#2c,#08,#2c,#00,#04,#2c,#04
.l49a0 equ $ + 6
	db #27,#04,#2c,#04,#30,#00,#04,#2e
	db #04,#2c,#04,#2b,#04,#29,#04,#27
	db #04,#25,#04,#24,#04,#22,#04,#24
	db #04,#20,#04,#22,#04,#24,#04,#25
	db #04,#27,#04,#29,#04,#2a,#04,#2c
	db #04,#2e,#04,#30,#04,#31,#08,#30
	db #08,#2e,#08,#2c,#10,#27,#08,#25
	db #08,#24,#04,#25,#04,#24,#08,#25
	db #08,#22,#04,#24,#04,#25,#04,#27
	db #04,#29,#08,#27,#08,#2b,#08,#2c
	db #04,#2e,#04,#30,#08,#31,#08,#2e
	db #08,#30,#08,#2e,#10,#2c,#04,#27
	db #04,#24,#04,#20,#04,#24,#04,#27
	db #04,#24,#04,#20,#04,#24,#04,#27
	db #04,#22,#04,#1b,#04,#22,#04,#27
	db #04,#22,#04,#1b,#04,#22,#04,#30
	db #04,#2c,#04,#29,#04,#2c,#04,#30
	db #04,#2c,#04,#29,#04,#2c,#04,#30
	db #04,#2b,#04,#24,#04,#2b,#04,#30
	db #04,#2b,#04,#24,#04,#2b,#04,#2c
	db #04,#29,#04,#25,#04,#29,#04,#2c
	db #04,#29,#04,#25,#04,#29,#04,#2c
	db #04,#27,#04,#24,#04,#27,#04,#2c
	db #04,#27,#04,#24,#04,#27,#04,#25
	db #04,#27,#04,#29,#04,#27,#04,#25
	db #04,#24,#04,#22,#04,#20,#10,#1f
	db #08,#00,#08,#2e,#08,#30,#08,#2e
	db #08,#2e,#08,#2c,#08,#31,#08,#30
	db #08,#30,#08,#2e,#04,#30,#04,#31
	db #04,#30,#04,#2e,#04,#2e,#04,#30
	db #04,#2e,#04,#2c,#04,#2e,#04,#30
	db #04,#2e,#04,#2c,#04,#2c,#04,#2e
	db #04,#2c,#04,#2b,#04,#29,#04,#2b
	db #04,#29,#04,#27,#04,#25,#04,#27
	db #04,#25,#04,#24,#04,#22,#04,#24
	db #04,#22,#04,#24,#04,#25,#04,#27
	db #04,#25,#04,#27,#04,#29,#04,#27
	db #04,#29,#04,#27,#04,#25,#04,#24
	db #04,#25,#04,#24,#04,#22,#04,#24
	db #04,#22,#04,#24,#04,#25,#04,#27
	db #04,#25,#04,#27,#04,#29,#04,#27
	db #04,#29,#04,#27,#04,#25,#04,#24
	db #04,#25,#04,#24,#04,#22,#04,#24
	db #04,#22,#04,#24,#04,#25,#04,#27
	db #04,#25,#04,#27,#08,#24,#08,#2c
	db #08,#22,#08,#2b,#08,#2c,#08,#27
	db #10,#20,#00,#10,#0d,#10,#0c,#10
	db #0a,#10,#08,#10,#06,#10,#08,#10
	db #0d,#10,#01,#10,#05,#10,#0a,#10
	db #03,#10,#07,#10,#08,#10,#03,#10
	db #08,#10,#03,#10,#08,#10,#06,#10
	db #05,#10,#0a,#10,#03,#10,#08,#10
	db #0d,#10,#01,#10,#0d,#10,#0d,#10
	db #0c,#10,#0c,#10,#0a,#10,#0a,#10
	db #08,#10,#08,#10,#06,#10,#06,#10
	db #05,#10,#05,#10,#03,#10,#06,#10
	db #08,#10,#08,#10,#06,#10,#06,#10
.l4b65 equ $ + 3
	db #08,#10,#08,#20,#00,#10,#08,#10
	db #00,#10,#08,#10,#08,#10,#08,#10
	db #08,#10,#08,#10,#08,#10,#08,#10
	db #08,#08,#01,#08,#03,#08,#05,#08
	db #06,#08,#08,#08,#06,#08,#05,#08
	db #06,#08,#08,#08,#06,#10,#08,#10
	db #01,#10,#00,#40,#00,#40,#00,#40
	db #00,#10,#0d,#10,#0c,#10,#0a,#10
	db #08,#10,#06,#10,#08,#10,#01,#10
	db #00,#40,#00,#40,#00,#40,#00,#40
	db #00,#10,#08,#10,#07,#10,#05,#10
	db #03,#10,#01,#10,#03,#08,#08,#08
	db #0d,#08,#0c,#08,#0a,#10,#08,#30
	db #00,#40,#00,#40,#00,#10,#08,#10
	db #08,#10,#07,#10,#07,#10,#05,#10
	db #05,#10,#03,#10,#03,#10,#01,#10
	db #0d,#10,#0c,#10,#0c,#10,#0a,#10
	db #0a,#10,#03,#10,#00,#40,#00,#40
	db #00,#10,#01,#10,#01,#10,#03,#10
	db #03,#10,#03,#10,#03,#10,#03,#10
	db #03,#10,#03,#10,#03,#10,#03,#10
	db #03,#08,#08,#08,#05,#08,#01,#08
.l4c18 equ $ + 6
	db #03,#10,#08,#10,#00,#00,#08,#1b
	db #08,#1d,#08,#1f,#08,#16,#08,#18
	db #04,#18,#04,#19,#04,#18,#04,#19
.l4c2f equ $ + 5
	db #04,#18,#04,#19,#00,#40,#00,#00
.l4c34 equ $ + 2
.l4c32
	db #04,#1b,#04,#1d,#04,#1b,#04,#1d
	db #04,#1e,#04,#1d,#04,#1b,#04,#19
	db #04,#18,#04,#19,#04,#18,#04,#19
	db #04,#1b,#04,#1d,#04,#1b,#04,#1d
	db #04,#1e,#04,#1d,#04,#1e,#04,#1d
	db #04,#1b,#04,#19,#04,#1b,#04,#19
	db #04,#18,#04,#19,#04,#18,#04,#19
	db #04,#1b,#04,#1d,#04,#1b,#04,#1d
	db #04,#1e,#04,#1d,#04,#1e,#04,#1d
	db #04,#1b,#04,#19,#04,#1b,#04,#19
	db #04,#18,#04,#19,#04,#18,#04,#19
	db #04,#1b,#04,#19,#04,#1b,#04,#19
	db #08,#19,#08,#18,#08,#19,#08,#1b
	db #10,#18,#08,#14,#08,#16,#08,#19
	db #08,#16,#08,#14,#08,#1b,#08,#1d
	db #08,#14,#10,#0d,#20,#00,#04,#19
	db #04,#1b,#04,#1d,#04,#1e,#08,#1d
	db #08,#1b,#08,#19,#04,#1b,#04,#19
	db #08,#1b,#08,#18,#04,#19,#04,#1b
	db #04,#1d,#04,#1e,#08,#1d,#08,#1b
	db #08,#19,#04,#1b,#04,#19,#08,#1b
	db #08,#18,#08,#19,#08,#20,#10,#1d
	db #40,#19,#10,#1e,#10,#1b,#08,#19
	db #08,#14,#10,#0d,#10,#1d,#04,#1e
	db #04,#1d,#04,#1b,#04,#19,#08,#1b
	db #10,#1e,#08,#1e,#04,#1d,#04,#1b
	db #04,#19,#04,#1d,#04,#1b,#04,#19
	db #04,#18,#04,#1b,#08,#19,#10,#1d
	db #08,#1d,#04,#1b,#04,#19,#04,#18
	db #04,#1b,#04,#19,#04,#18,#04,#16
	db #04,#19,#08,#18,#08,#1b,#04,#14
	db #04,#16,#04,#18,#04,#19,#08,#18
	db #08,#1b,#04,#14,#04,#16,#04,#18
	db #04,#19,#08,#18,#08,#18,#08,#18
	db #08,#18,#40,#20,#10,#14,#10,#13
	db #08,#1b,#08,#1d,#08,#1b,#08,#19
	db #08,#14,#08,#00,#08,#1b,#08,#19
	db #08,#18,#10,#18,#08,#16,#00
	db #4d,#55,#53,#49,#43,#44,#41,#54
	db #20,#32,#30,#2f,#30,#33,#2f,#38
	db #36,#2d,#32,#30,#2f,#30,#34,#2f
	db #38,#36,#42,#59,#20,#44,#41,#56
	db #49,#44,#20,#4b,#20,#50,#52,#49
	db #44,#4d,#4f,#52,#45
	
	
	
;#4d61
;db "MUSICDAT 20/03/86-20/04/86BY DAVID K PRIDMORE"
	
	
	
; &8518
; SOUNDFX  15/12/85-12/04/86BY DAVID K PRIDMORE
	
	
;#8382
.l8382
;ret
	nop
	di
	ld a,(ix+#05)
	ld (l83e4),a
	ld l,(ix+#09)
	ld h,(ix+#0a)
	ld (l83f8),hl
	push ix
	pop hl
	call #bcaa
	call l83f7
	ei
	ret
;
.init_soundfx_interrupt
;
	ld hl,l83d0
	ld b,#81
	ld c,#fc
	ld de,l83d7
	call #bcef
	ld hl,l83ca
	ld de,#0001
	ld bc,#0001
	call #bce9
	ret
	ld hl,l83ca
	call #bcec
	ret
	ld a,#c9
	ld (l8382),a
	ret
	xor a
	ld (l8382),a
	ret
.l83d0 equ $ + 6
.l83ca
	db #a1,#43,#01,#00,#01,#00,#a7,#43
	db #00,#81,#d7,#83,#fc
.l83d8 equ $ + 1
;
.play_soundfx
.l83d7
;
	ld a,#e1
	dec a
	ld (l83d8),a
	ret nz
.l83df equ $ + 1
	ld a,#00
	ld (l83d8),a
.l83e4 equ $ + 1
	ld a,#00
.l83e6 equ $ + 1
	add #00
	ld (l83e4),a
	ld c,a
	ld a,#06
	call #bd34
.l83f1 equ $ + 1
	ld a,#fa
	dec a
	ld (l83f1),a
	ret nz
.l83f8 equ $ + 1
.l83f7
	ld hl,#0000
.l83fa
	ld a,(hl)
	and a
	jp z,l8419
	jp m,l8422
	ld (l83f1),a
	inc hl
	ld a,(hl)
	ld (l83e6),a
	inc hl
	ld a,(hl)
	ld (l83df),a
	inc hl
	ld (l83f8),hl
	ld a,#01
	ld (l83d8),a
	ret
.l8419
	inc hl
	ld a,(hl)
	ld (l83e4),a
	inc hl
	jp l83fa
.l8422
	db #23,#7e,#23,#66,#6f,#c3,#fa,#83
	db #00,#00,#1f,#01,#01,#7f,#00,#00
	db #ff,#2f,#84,#00,#1f,#0a,#00,#01
	db #1f,#ff,#02,#ff,#2f,#84,#00,#00
	db #10,#02,#01,#00,#18,#0c,#02,#01
	db #00,#0e,#0e,#01,#01,#ff,#2f,#84
	db #00,#00,#10,#02,#01,#10,#fe,#01
	db #ff,#52,#84,#82,#08,#07,#00,#00
	db #05,#00,#64,#00,#2a,#84,#81,#01
	db #01,#64,#00,#00,#00,#e8,#03,#2f
	db #84,#84,#01,#02,#b4,#00,#00,#00
	db #e8,#03,#2f,#84,#82,#04,#03,#64
	db #00,#05,#0f,#e8,#03,#2f,#84,#81
	db #05,#04,#82,#00,#00,#00,#b8,#0b
	db #2f,#84,#81,#04,#08,#96,#00,#0f
	db #00,#e8,#03,#2f,#84,#84,#04,#08
	db #97,#00,#0f,#00,#e8,#03,#2f,#84
	db #81,#09,#08,#64,#00,#00,#00,#54
	db #01,#2f,#84,#84,#09,#08,#45,#00
	db #00,#00,#54,#01,#2f,#84
.l84c0
	db #82,#05
	db #0b,#14,#00,#00,#00,#e8,#03,#2f
	db #84,#82,#08,#01,#a0,#0f,#1e,#00
	db #e8,#03,#52,#84,#81,#01,#01,#64
	db #00,#00,#00,#e8,#03,#52,#84,#84
	db #01,#02,#b4,#00,#00,#00,#e8,#03
	db #52,#84,#81,#00,#0c,#00,#00,#00
	db #0f,#e8,#03,#2f,#84,#84,#00,#0c
	db #28,#00,#00,#0f,#e8,#03,#2f,#84
	db #87,#08,#00,#00,#00,#0f,#00,#e8
	db #03,#40,#84,#87,#08,#00,#00,#00
	db #0f,#00,#e8,#03,#35,#84
	db #53,#4f,#55,#4e,#44,#46,#58,#20
	db #20,#31,#35,#2f,#31,#32,#2f,#38
	db #35,#2d,#31,#32,#2f,#30,#34,#2f
	db #38,#36,#1b,#42,#59,#20,#44,#41
	db #56,#49,#44,#20,#4b,#20,#50,#52
	db #49,#44,#4d,#4f,#52,#45
;
.real_init_music
;
;ld ix,l84c0
;call l8382
;ld iy,l46c9 stop music
	ld iy,l46be
	call init_music_interrupt
;call init_soundfx_interrupt
	ld hl,l81a2
.l8190
	ld b,#0f
.l8192
	ld a,#10
	sub b
	push bc
	push af
	call #bcbc
	pop af
	call #bcbf
	pop bc
	djnz l8192
	ret
.l81a2
	db #02,#0f,#01,#05,#0f,#ff,#19,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #82,#04,#14,#01,#04,#ec,#01,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #02,#0f,#01,#07,#0f,#ff,#07,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #82,#04,#ec,#01,#04,#14,#01,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #03,#7d,#00,#01,#0f,#01,#07,#0f
	db #ff,#07,#00,#00,#00,#00,#00,#00
	db #83,#0a,#01,#05,#0f,#01,#05,#14
	db #01,#05,#00,#00,#00,#00,#00,#00
	db #03,#05,#ff,#0a,#05,#ff,#0f,#05
	db #ff,#14,#00,#00,#00,#00,#00,#00
	db #83,#05,#01,#01,#05,#ff,#01,#02
	db #01,#01,#00,#00,#00,#00,#00,#00
	db #02,#0f,#01,#03,#0f,#ff,#32,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #85,#0a,#0a,#01,#14,#0a,#01,#0a
	db #f6,#01,#14,#f6,#01,#0a,#01,#01
	db #04,#0f,#01,#02,#05,#ff,#0a,#05
	db #01,#0a,#0f,#ff,#64,#00,#00,#00
	db #82,#0a,#01,#01,#0f,#ff,#01,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #04,#0f,#01,#05,#05,#ff,#07,#05
	db #01,#05,#0f,#ff,#0a,#00,#00,#00
	db #82,#c8,#0a,#01,#c8,#0a,#01,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #01,#0f,#ff,#0a,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #82,#14,#05,#01,#01,#9c,#01,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #03,#69,#03,#01,#5a,#fd,#01,#2d
	db #fd,#32,#00,#00,#00,#00,#00,#00
	db #82,#0a,#7f,#01,#0a,#81,#01,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #04,#0f,#06,#02,#0f,#fa,#01,#05
	db #03,#01,#05,#fd,#01,#00,#00,#00
	db #84,#02,#64,#02,#01,#00,#0a,#02
	db #9c,#02,#01,#00,#0a,#00,#00,#00
	db #05,#0f,#00,#02,#0f,#06,#02,#0f
	db #fa,#01,#05,#03,#01,#05,#fd,#01
	db #82,#32,#01,#01,#05,#f6,#01,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #82,#0a,#0a,#01,#01,#d8,#01,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #02,#00,#0f,#01,#0f,#ff,#0a,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
;
.init_music	; added by Megachur
;
	call real_init_music
	jp init_music_interrupt

;
.game_name
	db "Tempest",0
.game_year
	db "1986",0
.game_publisher
	db "Electric Dreams",0
.music_author
	db "David K Pridmore",0
.music_comment
	db "MUSIC    23/11/85-10/03/86BY DAVID K PRIDMORE",0

	read "music_end_v1_0.asm"
